﻿using System;
using Microsoft.SharePoint.Linq;

namespace ZhukBlogLinqExamples
{
    internal enum PropertyMapType
    {
        None,
        Association,
        LookupList,
        Enum,
        Folder,
        Id,
        DataServiceContentTypeId,
        DataFile,
        DataServiceChoice,
        Attachments
    }

    /// <summary>
    /// List base type
    /// </summary>
    public enum EntityListBaseType
    {
        DiscussionBoard = 3,
        DocumentLibrary = 1,
        GenericList = 0,
        Issue = 5,
        Survey = 4,
        UnspecifiedBaseType = -1,
        Unused = 2
    }
    
    /// <summary>
    /// Field type
    /// </summary>
    public enum EntityListFieldType
    {
        Invalid,
        Integer,
        Text,
        Note,
        DateTime,
        Counter,
        Choice,
        Lookup,
        Boolean,
        Number,
        Currency,
        Url,
        Computed,
        Threading,
        Guid,
        MultiChoice,
        GridChoice,
        Calculated,
        File,
        Attachments,
        User,
        Recurrence,
        CrossProjectLink,
        ModStat,
        Error,
        ContentTypeId,
        PageSeparator,
        ThreadIndex,
        WorkflowStatus,
        AllDayEvent,
        WorkflowEventType,
        MaxItems
    }

    public enum EmployeeSex
    {
        None = 0,
        Invalid = 1,
        [Choice(Value = "Male")]
        Male = 2,
        [Choice(Value = "Female")]
        Female = 4
    }

    [FlagsAttribute]
    public enum EmployeeHobby
    {
        None = 0,
        Invalid = 1,
        [Choice(Value = "Chess")]
        Chess = 2,
        [Choice(Value = "Football")]
        Football = 4,
        [Choice(Value = "Basketball")]
        Basketball = 8
    }


    public enum Priority
    {
        None = 0,
        Invalid = 1,
        [Choice(Value = "(1) Высокая")]
        High = 2,
        [Choice(Value = "(2) Обычная")]
        Normal = 4,
        [Choice(Value = "(3) Низкая")]
        Low = 8,
    }

    public enum TaskState
    {
        None = 0,
        Invalid = 1,
        [Choice(Value = "Не начата")]
        NotStarted = 2,
        [Choice(Value = "В процессе выполнения")]
        InProcess = 4,
        [Choice(Value = "Завершенные")]
        Completed = 8,
        [Choice(Value = "Отложенные")]
        Deferred = 16,
        [Choice(Value = "Ожидание другого пользователя")]
        WaitingOn = 32,
    }

}


